Generally described, communication networks transmit information from one location to another through routing devices. These routing devices employ routing protocols when transmitting data from one point to another. For example, a group of routing devices may use a common routing protocol to exchange routing information, such as the connectivity between different routing devices or the number of routing devices in a given routing path. The routing devices then use this routing information to determine what path should be used in transmitting data from one location to another, i.e., what routing devices should be used.
Routing protocols include interior gateway protocols or “IGPs” as well as exterior gateway protocols or “EGPs.” IGPs include the Open Shortest Path First (“OSPF”) and Intermediate System to Intermediate System (“IS-IS”) protocols. One exemplary EGP is the Border Gateway Protocol (“BGP”). IGPs often are used to communicate within a grouping of routing devices, such as an autonomous system (“AS”). EGPs often are used to communicate between different groupings of routing devices, such as multiple different autonomous systems.
Transmission of data from one location to another may involve a number of different routing devices and a number of different routing protocols. For example, data may pass through several routing devices that communicate over a first OSPF network within a first AS and then through several other routing devices that communicate over a second OSPF network within a second AS. In this scenario, the first and second AS may communicate with each other over a BGP network. Such scenarios often are implemented inefficiently in that all routing devices run both the OSPF routing protocol and the BGP routing protocol in order to preserve the information necessary to determine an optimal routing path.
BGP messages are messages used to communicate BGP network information such as routing paths. BGP messages may specifically include information such as Path Attributes, Origin or Originator, AS_Path, Next_hop, multi-exit-disc or “MED,” Local Preference or LOCAL-PREF, Aggregate, Aggregator, Community, Extended Community, and Cluster list. An exemplary message could be a BGP UPDATE message according to BGP-4, as specified in Internet Engineering Task Force RFC 4271.